export interface IsolatedDivProps {
  /** HTML 内容字符串 */
  content: string;
  /** 自定义样式字符串 */
  styles?: string;
  /** 是否使用重置样式 */
  resetStyles?: boolean;
  /** Shadow DOM 模式 */
  mode?: 'closed' | 'open';
}

export interface IsolatedDivEmits {
  /** Shadow DOM 挂载完成事件 */
  mounted: [shadowRoot: ShadowRoot];
  /** 内容更新完成事件 */
  updated: [];
  /** 错误事件 */
  error: [error: Error];
}

export interface IsolatedDivInstance {
  /** 获取 Shadow Root 实例 */
  getShadowRoot(): null | ShadowRoot;
  /** 在 Shadow DOM 中查询单个元素 */
  querySelector(selector: string): Element | null;
  /** 在 Shadow DOM 中查询多个元素 */
  querySelectorAll(selector: string): NodeListOf<Element> | null;
  /** 手动更新内容 */
  updateContent(): Promise<void>;
}
